// Copyright (c) 2015-present, salesforce.com, inc. All rights reserved
// Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license

@mixin core($scoped: false, $globals: false) {

  *,
  *:before,
  *:after {
    box-sizing: border-box;
  }

  ::placeholder {
    color: var(--slds-g-color-neutral-base-50, #{$color-text-placeholder});
    font-weight: $font-weight-regular;
    opacity: 1;
  }

  ::selection {
    background: var(--slds-g-color-brand-base-90, #{$color-background-selection});
    text-shadow: none;
    color: var(--slds-g-color-neutral-base-10, #{$color-text-default});
  }

  @if $globals {
    @if $scoped {
      @include root($root: '&', $body: '&:not(html), body');
    } @else {
      @include root();
    }
  }


  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  ol,
  ul,
  dl,
  fieldset {
    margin: 0;
    padding: 0;
  }

  dd,
  figure {
    margin: 0;
  }

  abbr[title] {
    text-decoration: none;
  }

  abbr[title],
  fieldset,
  hr {
    border: 0;
  }

  hr {
    padding: 0;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font: {
      weight: inherit;
      size: 1em;
    }
  }

  ol,
  ul {
    list-style: none;
  }

  a {
    color: $brand-text-link;
    text-decoration: none;
    transition: color 0.1s linear;

    &:hover,
    &:focus {
      text-decoration: underline;
      color: $brand-text-link-active;
    }

    &:active {
      color: $brand-text-link-active;
    }

    &:focus-visible {
      outline-color: var(--slds-g-color-palette-blue-40, #{$palette-blue-40});
    }
  }

  a,
  button {
    cursor: pointer;
  }

  b,
  strong,
  dfn {
    font-weight: $font-weight-bold;
  }

  mark {
    background-color: var(--slds-g-color-palette-yellow-90, #{$color-background-highlight-search});
    color: var(--slds-g-color-neutral-base-10, #{$color-text-default});
  }

  abbr[title] {
    cursor: help;
  }



  input[type="search"] {
    box-sizing: border-box;
  }



  table {
    width: 100%;
  }

  caption,
  th,
  td {
    text-align: left;
  }



  hr {
    display: block;
    margin: $spacing-x-large 0;
    border-top: 1px solid var(--slds-g-color-border-base-1, #{$color-border});
    height: 1px;
    clear: both;
  }

  audio,
  canvas,
  iframe,
  img,
  svg,
  video {
    vertical-align: middle;
  }

  img {
    max-width: 100%;
    height: auto;
  }
}
